//输出现在时间

#include<stdio.h>
#include<time.h>
#include<windows.h>

//通过时间戳获取时间
int get_timenow()
{
    int t = (unsigned int)time(NULL) +8*3600;//东八区,早八小时

    // int input=0;
    // scanf("%d",&input);
    // int t = input;

    int timenow =t;
    return timenow;
}

//返回当前秒
int get_s_time()
{
    int s_time = get_timenow()%60;
    return s_time;
}

//返回当前总天数
int get_d_time(int b)
{
    int d_time = b/86400;
    return d_time;
}

//返回几月几日
void get_day_time(int *mm,int *dd)
{
    int day = get_d_time(get_timenow());
    int i =0;
    while (day>365)
    {
        if ((i+1970)%4 !=0)
        {
            day-=365;
            i++;
        }
        else 
        {
            day-=366;
            i++;
        }
    }

    int moon=1;
    if ((i+1970)%4 !=0)//平年
    {
        //1月
        if (day-31 >= 0)
        {
            moon +=1;
            day-=31;
        }
        //2月
        if (day-28>=0)
        {
            moon +=1;
            day -=28;
        }
        //3月      
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //4月
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        } 
        //5月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //6月
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }
        //7月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //8月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //9月
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }
        //10月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //11
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }

    }
    else
    {
        if (day-31 >= 0)
        {
            moon +=1;
            day-=31;
        }
        //2月
        if (day-29>=0)
        {
            moon +=1;
            day -=29;
        }
        //3月      
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //4月
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        } 
        //5月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //6月
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }
        //7月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //8月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //9越
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }
        //10月
        if (day-31>=0)
        {
            moon +=1;
            day -=31;
        }
        //11
        if (day-30>=0)
        {
            moon +=1;
            day -=30;
        }

    }
    *mm = moon;
    *dd = day+1;
}



//返回当前年份
int get_y_time()
{
    int y_time =0;
    int day = get_d_time(get_timenow());
    int i =0;
    while (day>365)
    {
        if ((i+1970)%4 !=0)
        {
            day-=365;
            i++;
        }
        else 
        {
            day-=366;
            i++;
        }
    }
    y_time = 1970+i;
    return y_time;
    //return day;
}

//返回分钟
int get_minute()
{
    int s=get_timenow();
    int a=s/60;
    int min =a%60;
    return min;
}

//返回当前小时
int get_h_time()
{
    int s=get_timenow();
    int h=s/3600;
    int h_time= h%24;
    return h_time;
}


int main()
{
    int yy =0;
    int mm =0;
    int dd =0;
    int hh =0;
    int min=0;
    int ss =0;

    yy =get_y_time();
    get_day_time(&mm,&dd);//要用取址符
haha://考虑使用场景不会存在日期更替,降低yunsh
    hh =get_h_time();
    min=get_minute();
    ss =get_s_time();
    
    printf("现在是%04d年 %02d月 %d日 %02d时 %02d分 %02d秒\n",yy,mm,dd,hh,min,ss);

    Sleep(1000);
    system("cls");
    goto haha;
    return 0;
}